package com.ruoyi.maode.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.maode.domain.dto.AddButtonDTO;
import com.ruoyi.maode.domain.dto.QueryButtonDTO;
import com.ruoyi.maode.domain.entity.PartBpmnButton;
import com.ruoyi.maode.domain.vo.ApproveUserVO;
import com.ruoyi.maode.domain.vo.ButtonVO;
import com.ruoyi.web.core.config.ResultDTO;
import com.ruoyi.web.util.PageQuery;
import org.apache.commons.math3.analysis.function.Add;

import java.util.List;

/**
 * 零件审批按钮接口
 * @author zhangwenqiang
 */
public interface PartBpmnButtonService extends IService<PartBpmnButton> {

    /**
     * 新增审批按钮接口
     * @param AddButtonDTO
     * @return
     */
    ResultDTO addButton(AddButtonDTO dto);

    /**
     * 更新按钮接口
     * @param dto
     * @return
     */
    int updateButton(AddButtonDTO dto);

    /**
     * 查询按钮列表接口
     * @param dto
     * @return
     */
    Page<ButtonVO> list(PageQuery<QueryButtonDTO> dto);

    /**
     * 获取按钮详情信息
     * @param id
     * @return
     */
    ButtonVO selectButton(Long id);

    /**
     * 获取审核人
     * @param buttonId
     * @return
     */
    List<ApproveUserVO> getApproveUser(Integer buttonId);

    /**
     * 根据当前登录人获取对应审核按钮
     * @return
     */
    List<ButtonVO> getApproveSubmit(Long roleId);
}
